// pages/clockon/clockon.js
import {getUserInfo} from '../../utils/authorization'
import {taskrecordSave,taskrecordGet,taskrecordEnd} from '../../Interface/taskrecordIterface'
import {debounce} from '../../utils/repeat'
import {timings} from '../../utils/utils'
let userInfo = {}
let taskid = ''
let time = 0
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		// show true 就是结束 false 就是开始
		show: false,
		time: "00:00:00",
		// 定时器
		timing: null
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		getUserInfo()
			.then(res=>{
				userInfo = res.userInfo
			})
		taskid = options.id
		taskrecordGet({
			data: {
				taskid
			}
		}).then(res=>{
			let show = res.data.length > 0
			this.setData({
				show,
				name: options.name,
				squadid: options.squadid,
				labellist: JSON.parse(options.labellist)
			})
			// 当前已经开始了
			if(show){
				time = Math.floor((Date.now() - res.data[0].startTime)/1000)
				this.setTime()
			}
		})
	},
	// 开始计时
	setTime(){
		this.data.timing = setInterval(()=>{
			time++
			this.setData({
				time: timings(time)
			})
		},1000)
	},

	start:debounce(async function(event){
		taskrecordSave({
			data: {
				taskid,
				name: userInfo.nickName,
				img: userInfo.avatarUrl
			}
		}).then(res=>{
			time = 0
			this.setData({
				show: true,
			})
			this.setTime()
		})
	}),

	end:debounce(async function(event){
		taskrecordEnd({
			data: {
				taskid
			}
		}).then(res=>{
			clearInterval(this.data.timing)
			this.setData({
				time: "00:00:00",
				show: false,
				timing: null
			})
		})
	}),

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {
		clearInterval(this.data.timing)
	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})